// 从左边遍历找到最大的和从右边遍历找到最大的相比，返回最大

int maxDistance(int *colors, int colorsSize)
{
    int i = 0, j = colorsSize - 1, max1 = 0, max2 = 0;
    while (i < j)
    {
        if (colors[i] == colors[j])
        {
            i++;
        }
        else
        {
            max1 = j - i;
            break;
        }
    }
    i = 0;
    j = colorsSize - 1;
    while (j >= 0)
    {
        if (colors[i] == colors[j])
        {
            j--;
        }
        else
        {
            max2 = j - i;
            break;
        }
    }
    return max1 > max2 ? max1 : max2;
}